In some topologies of communications systems, groups of users share some or all of the system resources. For example, in some satellite communications systems, users share communications links for communicating with a service provider via a gateway. Communication services provided to the users over the shared links can be affected by a number of factors. One such factor is that link usage across the subscriber base can change in dynamic and sometimes unpredictable ways over time. Another such factor is that the effective bandwidth of the link can change due to changes in link conditions (e.g., rain fade, etc.). These and/or other factors can cause sub-optimal (i.e., less than full) utilization of the satellite link. Additionally, usage patterns, such as multiple transfers of the same content to users sharing the satellite link, can further impact optimal utilization of the link.
Some traditional techniques schedule a predetermined amount of content to be pre-pushed to subscribers over a limited, pre-defined block of off-peak time (e.g., in the middle of the night). These techniques are limited in a number of ways. For example, traditional techniques tend to leave appreciable amounts of bandwidth unused over time. Further, reliance by these techniques on anticipating possible future content requests can also waste valuable bandwidth resources by sending large amounts of data that are never consumed by some or all of the receiving users.